""""""
"""
当需要大量创建一个类的实例的时候, 可以使用工厂模式

即,从原生的,使用 类 的构造去创建对象的形式
迁移到,基于工厂提供的方法去创建对象的形式
"""


# 父类
class 类_示例1:
    pass


# 子类
class 类_1(类_示例1):
    def 输出(self):
        print("这个是 类_1 ")


class 类_2(类_示例1):
    def 输出(self):
        print("这个是 类_2")


class 类_3(类_示例1):
    def 输出(self):
        print("这个是 类_3 ")

# 传统方式分别建对象
对象1 = 类_1()
对象2 = 类_2()
对象3 = 类_3()


"""
下面我们介绍 工厂模式
"""


class 类_示例2:
    def 工厂模式(self, 形参):
        if 形参 == "类_1":
            return 类_1()
        elif 形参 == "类_2":
            return 类_2()
        elif 形参 == "类_3":
            return 类_3()


# 工厂模式批量建对象
工厂 = 类_示例2()  # 这里括号要加哦

对象11 = 工厂.工厂模式("类_1")  # 创建对象 有统一的入口
对象22 = 工厂.工厂模式("类_2")
对象33 = 工厂.工厂模式("类_3")

对象11.输出()  # 看结果一样是类1的对象,其他类似
"""
使用工厂类方法去创建具体类对象的好处:

大批量创建对象的时候有统一的入口,易于代码维护
当发生修改,仅修改工厂类的创建方式即可

总的来说 设计模式,不是语法只是一种代码的写法
这种写法可以提高工作效率
"""

